<?php
/**
 * 数学公式处理器 - 纯HTML输出版本
 * 基于math_demo.html的正确实现
 * 将LaTeX公式转换为纯HTML+CSS格式，前端无需数学公式库
 */

namespace app\common\library;

// 引入我们创建的SimpleKaTeX类作为替代
use app\common\library\SimpleKaTeX;

class MathFormulaProcessor
{
    /**
     * 处理包含数学公式的文本
     * 主入口方法，按照math_demo.html的标准
     * @param string $text 原始文本
     * @return string 处理后的HTML文本
     */
    public static function processFormulas($text)
    {
        // 使用SimpleKaTeX作为替代方案处理数学公式
        // 这是为了替代原本需要的 katex/katex-php 包
        return SimpleKaTeX::processFormulas($text);
    }
    
    /**
     * 获取推荐的CSS样式
     * @return string CSS样式字符串
     */
    public static function getRecommendedCSS()
    {
        return SimpleKaTeX::generateCSS();
    }
    
    /**
     * 获取KaTeX CSS CDN链接（保持兼容性）
     * @return string CSS CDN URL
     */
    public static function getKatexCssUrl()
    {
        // 返回空字符串，因为我们现在使用SimpleKaTeX
        return '';
    }

    /**
     * 获取完整的CSS标签（保持兼容性）
     * @return string CSS标签
     */
    public static function getKatexCssTag()
    {
        // 返回空字符串，因为我们现在使用SimpleKaTeX
        return '';
    }
    
    /**
     * 获取JavaScript代码
     * @return string JavaScript代码
     */
    public static function getJavaScript()
    {
        return SimpleKaTeX::generateJS();
    }
}